#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
头条自动发文系统演示脚本
"""

import asyncio
from database import Database
from ai_service import AIService

def demo_database():
    """演示数据库功能"""
    print("🗄️  数据库功能演示")
    print("-" * 30)
    
    db = Database()
    
    # 保存账号
    account_id = db.save_account(
        username="demo_user",
        nickname="演示用户",
        cookies='{"test": "cookie"}'
    )
    print(f"✅ 保存账号成功，ID: {account_id}")
    
    # 获取账号
    account = db.get_active_account()
    if account:
        print(f"✅ 获取账号成功: {account['nickname']}")
    
    # 保存文章
    article_id = db.save_article(
        title="AI技术发展趋势分析",
        content="人工智能技术正在快速发展...",
        prompt="写一篇关于AI发展的文章",
        account_id=account_id
    )
    print(f"✅ 保存文章成功，ID: {article_id}")
    
    # 获取文章列表
    articles = db.get_articles(limit=5)
    print(f"✅ 获取文章列表成功，共 {len(articles)} 篇")
    
    # 保存提示词模板
    template_id = db.save_prompt_template(
        name="科技文章模板",
        category="科技",
        prompt="写一篇关于最新科技发展的文章",
        description="用于生成科技类文章"
    )
    print(f"✅ 保存模板成功，ID: {template_id}")
    
    print()

def demo_ai_service():
    """演示AI服务功能"""
    print("🤖 AI服务功能演示")
    print("-" * 30)
    
    ai_service = AIService()
    
    # 获取建议提示词
    prompts = ai_service.get_suggested_prompts()
    print(f"✅ 获取建议提示词成功，共 {len(prompts)} 个分类")
    for category, prompt_list in prompts.items():
        print(f"   📁 {category}: {len(prompt_list)} 个模板")
    
    # 演示文章生成（需要API密钥）
    print("\n🔮 AI文章生成演示")
    print("注意: 需要配置DEEPSEEK_API_KEY才能实际生成")
    
    sample_prompt = "写一篇关于Python编程入门的文章"
    print(f"提示词: {sample_prompt}")
    
    # 这里只是演示API调用流程，实际需要API密钥
    result = {
        "title": "Python编程入门指南",
        "content": "Python是一门简单易学的编程语言...",
        "success": True,
        "error": None
    }
    
    if result["success"]:
        print(f"✅ 文章生成成功")
        print(f"   标题: {result['title']}")
        print(f"   内容长度: {len(result['content'])} 字符")
    else:
        print(f"❌ 文章生成失败: {result['error']}")
    
    print()

def demo_system_info():
    """显示系统信息"""
    print("📋 系统信息")
    print("-" * 30)
    
    import sys
    import platform
    from pathlib import Path
    
    print(f"✅ Python版本: {sys.version.split()[0]}")
    print(f"✅ 操作系统: {platform.system()} {platform.release()}")
    print(f"✅ 项目目录: {Path.cwd()}")
    
    # 检查依赖包
    dependencies = [
        "fastapi", "uvicorn", "jinja2", "requests", 
        "DrissionPage", "sqlite3", "qrcode"
    ]
    
    print(f"✅ 依赖包检查:")
    for dep in dependencies:
        try:
            if dep == "sqlite3":
                import sqlite3
            else:
                __import__(dep)
            print(f"   ✓ {dep}")
        except ImportError:
            print(f"   ✗ {dep} (未安装)")
    
    # 检查目录结构
    directories = ["templates", "static", "uploads", "cookies"]
    print(f"✅ 目录结构:")
    for directory in directories:
        path = Path(directory)
        if path.exists():
            print(f"   ✓ {directory}/")
        else:
            print(f"   ✗ {directory}/ (不存在)")
    
    print()

def demo_features():
    """演示主要功能特性"""
    print("🌟 功能特性演示")
    print("-" * 30)
    
    features = [
        "🤖 AI文章生成 - 基于DeepSeek模型",
        "📱 二维码登录 - 安全便捷的账号管理",
        "🚀 自动发布 - 一键发布到头条平台",
        "📊 数据监控 - 实时追踪文章表现",
        "💾 草稿管理 - 保存和编辑文章草稿",
        "🎨 可视化界面 - 现代化Web界面",
        "🔧 系统设置 - 灵活的配置管理",
        "📝 模板系统 - 内置提示词模板库"
    ]
    
    for feature in features:
        print(f"   {feature}")
    
    print()

def main():
    """主演示函数"""
    print("🎯 头条自动发文系统 - 功能演示")
    print("=" * 50)
    print()
    
    # 系统信息
    demo_system_info()
    
    # 功能特性
    demo_features()
    
    # 数据库演示
    demo_database()
    
    # AI服务演示
    demo_ai_service()
    
    print("🎉 演示完成！")
    print("=" * 50)
    print("💡 启动提示:")
    print("   1. 配置 .env 文件中的 DEEPSEEK_API_KEY")
    print("   2. 运行 python run.py 启动系统")
    print("   3. 访问 http://localhost:8000 使用系统")
    print()

if __name__ == "__main__":
    main()
